package testOfExtends;

import javax.annotation.processing.SupportedOptions;
import java.beans.JavaBean;

public class test {
    public static void main(String[] args) {
        //javaBean中三要素(构造方法 成员变量 成员方法)
        /*
        *            普通javaBean        工具类
        * 构造方法    非私有(不能继承)     private(不能继承)
        * 成员变量    非私有(可以继承)     private(可以继承/不能直接调用/get()/set())
        * 访问特点:就近原则
        * 成员方法    非私有(可以继承)     private (不能继承)
        * Overload    重载
        * Override    重写 (private static final  不能重写)
        * */
        //子类是自带了空参构造方法
        ZI z1=new ZI(); //jvm自带一个空参构造方法
        ZI z2=new ZI("xiaoming",23);
        z1.setId(2);
        System.out.println(z1.getId());
        z1.method();//name 父类的name:FU,子类的name:ZI,子类的成员方法的name:zishow
    }
}
class FU{
      String name="FU";
     private    int id;
     //公开的
     //get()/set()
//   public  void method(){
//    System.out.println("method");
//}
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public FU(){
    }
    public FU(String name, int id) {
        this.name = name;
        this.id = id;
    }
}
class ZI extends FU{
     String name="ZI";
public ZI(){
    super();
}
public ZI(String name,int id){
   super(name,id); //超级
}
public void method(){
  String name="zishow";
    System.out.println(name);//就近原则
    System.out.println(this.name);
    System.out.println(super.name);
}
}